#include <stdio.h>

/*例4.18：n元钱买n只鸡。
          经典的百钱买百鸡问题是：公鸡五文钱一只，母鸡三文钱一只，鸡仔一文钱三只，
          用100文钱买100只鸡，公鸡、母鸡、鸡仔各买多少只？
本程序要求解的问题是：给定一个正整数n，用n文钱买n只鸡，问公鸡、母鸡、鸡仔各买多少只？
            如果问题有解，输出公鸡数最少得到的解。
*/
#include <stdio.h>

int main() {
    int n;
    printf("请输入正整数n：");
    scanf("%d", &n);
    int fund = 0; //是否有解
    int i, j, k;
    for (i = 0; i <= n / 5; i++) {
        for (j = 0; j <= n / 3; j++) {
            k = n - i - j;
            if (i * 15 + j * 9 + k == n * 3)  //找到的第一个解就是符合题意的解
            {
                fund = 1;  //找到解
                goto find_answer; //使用goto语句直接跳转到循环结构之后的语句
            }
        }
    }
    find_answer:
    printf("公鸡数：%d，母鸡数：%d，鸡仔数：%d\n", i, j, k);
    if (fund == 0)  //若无解
        printf("No answer\n");

    return 0;
}

